﻿Imports System.SerializableAttribute

<Serializable()> _
Public Class ProgramInfo
    Implements IComparable(Of ProgramInfo)

    Private m_Id As String = String.Empty
    Public Property Id() As String
        Get
            Return m_Id
        End Get
        Set(ByVal value As String)
            m_Id = value
        End Set
    End Property


    Private m_Name As String = String.Empty
    Public Property Name() As String
        Get
            Return m_Name
        End Get
        Set(ByVal value As String)
            m_Name = value
        End Set
    End Property


    Private m_Path As String = String.Empty
    Public Property Path() As String
        Get
            Return m_Path
        End Get
        Set(ByVal value As String)
            m_Path = value
        End Set
    End Property

    <NonSerialized()> _
    Private m_FormImage As Image = Nothing

    Public Property FormImage() As Image
        Get
            Return m_FormImage
        End Get
        Set(ByVal value As Image)
            m_FormImage = value
        End Set
    End Property


    <NonSerialized()> _
    Private m_FormImageSize As Size = Size.Empty
    Public Property FormImageSize() As Size
        Get
            Return m_FormImageSize
        End Get
        Set(ByVal value As Size)
            m_FormImageSize = value
        End Set
    End Property


    Private m_Order As Integer = 1
    Public Property Order() As Integer
        Get
            Return m_Order
        End Get
        Set(ByVal value As Integer)
            m_Order = value
        End Set
    End Property


    Private m_FormImageData As String
    Public Property FormImageData() As String
        Get
            Return m_FormImageData
        End Get
        Set(ByVal value As String)
            m_FormImageData = value
        End Set
    End Property

    Public Function CompareTo(ByVal other As ProgramInfo) As Integer Implements System.IComparable(Of ProgramInfo).CompareTo
        Return Me.Order.CompareTo(other.Order)
    End Function

End Class
